package com.nine.service;

import java.util.List;

import com.nine.entity.Product;
import com.nine.entity.ProductCondition;

public interface ProductService {
	
	/**
	 * 查询所有商品信息
	 * @return 商品实体集合
	 */
	List<Product> getAllProduct();
	
	/**
	 * 查询所有商品信息（分页）
	 * @param pageSize 页大小
	 * @param pageCurr 当前页码
	 * @return
	 */
	List<Product> getAllProduct(int pageSize, int pageCurr);
	
	/**
	 * 查询所有商品信息的记录数
	 * @return 商品信息的记录数
	 */
	Integer getProductCount();
	
	/**
	 * 查询单个商品信息
	 * @param pid 商品编号
	 * @return 商品信息实体
	 */
	Product getProduct(String pid);
	
	/**
	 * 通过条件查询商品信息（支持模糊查询）
	 * @param condition 条件实体
	 * @return 商品实体集合
	 */
	List<Product> getProductByCondition(ProductCondition condition);
	
	/**
	 * 添加商品信息
	 * @param product 商品信息实体
	 * @return 影响行数
	 */
	Integer addProduct(Product product);
	
	/**
	 * 删除商品
	 * @param pid 商品编号
	 * @return 影响行数
	 */
	Integer deleteProductBypid(String pid);
	
	/**
	 * 删除商品信息
	 * 支持单条删除和多条删除
	 * @param pids 商品编号数组
	 * @return 影响行数
	 */
	Integer deleteMoreProduct(String[] pids);
	
	/**
	 * 修改商品信息
	 * @param product 商品信息实体
	 * @return 影响行数
	 */
	Integer updateProduct(Product product);
	
}
